/*
 * ContribuyentesImpuestosVerFrame.java
 *
 * Created on 24 de abril de 2008, 06:49 PM
 */
package org.contabilidad.cierres;

import org.mybeans.Sesion;

import org.mybeans.CierreMensualBeans;
import org.mybeans.ComerciosBeans;
import org.mybeans.ContribuyentesBeans;
import org.mybeans.RemolquesBeans;
import org.mybeans.TemporalMorosidadMensualBeans;
import org.mybeans.VehiculosBeans;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import org.mybeans.CierreMensualVigenciasExpiradasBeans;
import org.mybeans.CierreMorosidadMensualAnualBeans;
import org.mybeans.CierreMorosidadMensualBeans;
import org.mybeans.CierreRecargoMensualBeans;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

/**
 *
 * @author  avbravo
 */
public class CierreMensualMorosidadInformeCierreFrame extends javax.swing.JFrame {

    String dueno;
    double morosidad;
    double recargo;
    double numeroporcentaje;
    int numeromes;
    double total;
    Sesion sesion;
    String sql;
    String tiposql;
    String idRegimen;
    String Regimen;
    String tipoid;
    String localId;
    double TotalMorosidad;
    double TotalRecargo;
    double GranTotal;
    CierreMensualBeans cierreMensualBeans;
    CierreMorosidadMensualBeans cierreMorosidadMensualBeans;
    CierreMorosidadMensualAnualBeans cierreMorosidadMensualAnualBeans;
    CierreMensualVigenciasExpiradasBeans cierreMensualVigenciasExpiradasBeans;
    CierreRecargoMensualBeans cierreRecargoMensualBeans;
    ContribuyentesBeans contribuyentesBeans;
    ComerciosBeans comerciosBeans;
    VehiculosBeans vehiculosBeans;
    RemolquesBeans remolquesBeans;
    TemporalMorosidadMensualBeans temporalMorosidadMensualBeans;
    int fila = -1;
    DefaultTableModel modelo;
    int Anio;
    String Mes;
    static List<String> ListaRecargoId = new ArrayList<String>();
    static List<String> ListaRecargoTipoId = new ArrayList<String>();
    static List<String> ListaRecargoIdRegimen = new ArrayList<String>();
    int NumeroRegistrosRecargosEncontrados = -1;

    public String getDueno() {
        return dueno;
    }

    public void setDueno(String dueno) {
        this.dueno = dueno;
    }

    public double getMorosidad() {
        return morosidad;
    }

    public void setMorosidad(double morosidad) {
        this.morosidad = morosidad;
    }

    public int getNumeromes() {
        return numeromes;
    }

    public void setNumeromes(int numeromes) {
        this.numeromes = numeromes;
    }

    public int getAnio() {
        return Anio;
    }

    public void setAnio(int Anio) {
        this.Anio = Anio;
    }

    public String getMes() {
        return Mes;
    }

    public void setMes(String Mes) {
        this.Mes = Mes;
    }

    public double getNumeroporcentaje() {
        return numeroporcentaje;
    }

    public void setNumeroporcentaje(double numeroporcentaje) {
        this.numeroporcentaje = numeroporcentaje;
    }

    public double getRecargo() {
        return recargo;
    }

    public void setRecargo(double recargo) {
        this.recargo = recargo;
    }

    public double getTotal() {
        return total;
    }

    public void setTotal(double total) {
        this.total = total;
    }

    /** Creates new form ContribuyentesImpuestosVerFrame */
    public CierreMensualMorosidadInformeCierreFrame() {
        initComponents();
        /*
         * Fondo
         */

         
         
         

        jPanelFondo.setOpaque(false);
        setContentPane(jPanelFondo);
        /*
         * fondo
         */
        sesion = new Sesion();
        cierreMensualBeans = new CierreMensualBeans();
        cierreMorosidadMensualBeans = new CierreMorosidadMensualBeans();
        cierreMorosidadMensualAnualBeans = new CierreMorosidadMensualAnualBeans();
        cierreMensualVigenciasExpiradasBeans = new CierreMensualVigenciasExpiradasBeans();
        cierreRecargoMensualBeans = new CierreRecargoMensualBeans();
        contribuyentesBeans = new ContribuyentesBeans();
        comerciosBeans = new ComerciosBeans();
        vehiculosBeans = new VehiculosBeans();
        remolquesBeans = new RemolquesBeans();
        temporalMorosidadMensualBeans = new TemporalMorosidadMensualBeans();
        java.util.Calendar ca = java.util.Calendar.getInstance();
        java.sql.Date mydate = new java.sql.Date(ca.getTimeInMillis());
        jFormattedTextFieldFecha.setValue(mydate);
        int year = ca.get(java.util.Calendar.YEAR);
        jTextFieldAnio.setText(String.valueOf(year));

    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanelFondo = new javax.swing.JPanel();
        jButtonRegresar = new javax.swing.JButton();
        jLabel12 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jComboBoxMesPago = new javax.swing.JComboBox();
        jTextFieldAnio = new javax.swing.JTextField();
        jButtonMostrar = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jFormattedTextFieldFecha = new javax.swing.JFormattedTextField();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jButtonVistaPrevia = new javax.swing.JButton();
        jButtonImprimir = new javax.swing.JButton();
        jButtonRegresar2 = new javax.swing.JButton();
        jCheckBoxIncluirRecargo = new javax.swing.JCheckBox();
        jPanel1 = new javax.swing.JPanel();
        jTextFieldTotalMorosidad = new javax.swing.JTextField();
        jTextFieldTotalRecargo = new javax.swing.JTextField();
        jTextFieldGranTotal = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jCheckBoxIncluirVifgencias = new javax.swing.JCheckBox();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Informe de Morosidad por Cierre Mensual");

        jPanelFondo.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        jButtonRegresar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gif/regresar.jpeg"))); // NOI18N
        jButtonRegresar.setText("Regresar");
        jButtonRegresar.setToolTipText("Cerrar");
        jButtonRegresar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonRegresarActionPerformed(evt);
            }
        });

        jLabel12.setText("Mes Cerrado");

        jLabel14.setText("Año");

        jComboBoxMesPago.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }));

        jButtonMostrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gif/tools.png"))); // NOI18N
        jButtonMostrar.setText("Ejecutar");
        jButtonMostrar.setToolTipText("Procesar");
        jButtonMostrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonMostrarActionPerformed(evt);
            }
        });

        jLabel1.setText("Fecha");

        jFormattedTextFieldFecha.setEnabled(false);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "id", "Propietario", "IdRegimen", "Regimen", "Morosidad", "Recargo", "Total"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Object.class, java.lang.Double.class, java.lang.Double.class, java.lang.Double.class
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }
        });
        jScrollPane1.setViewportView(jTable1);

        jButtonVistaPrevia.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gif/preview.png"))); // NOI18N
        jButtonVistaPrevia.setToolTipText("Vista Previa");
        jButtonVistaPrevia.setEnabled(false);
        jButtonVistaPrevia.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonVistaPreviaActionPerformed(evt);
            }
        });

        jButtonImprimir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gif/print.jpeg"))); // NOI18N
        jButtonImprimir.setToolTipText("Imprimir");
        jButtonImprimir.setEnabled(false);
        jButtonImprimir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonImprimirActionPerformed(evt);
            }
        });

        jButtonRegresar2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gif/regresar.jpeg"))); // NOI18N
        jButtonRegresar2.setToolTipText("Regresar");
        jButtonRegresar2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonRegresar2ActionPerformed(evt);
            }
        });

        jCheckBoxIncluirRecargo.setSelected(true);
        jCheckBoxIncluirRecargo.setText("Incluir recargo");

        jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

        jTextFieldTotalMorosidad.setEnabled(false);

        jTextFieldTotalRecargo.setEnabled(false);

        jTextFieldGranTotal.setEnabled(false);

        jLabel4.setText("Gran Total");

        jLabel3.setText("Total Recargo");

        jLabel2.setText("Total Morosidad");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel2)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextFieldTotalRecargo, javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
                    .addComponent(jTextFieldGranTotal, javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
                    .addComponent(jTextFieldTotalMorosidad, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(jTextFieldTotalMorosidad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(jTextFieldTotalRecargo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(jTextFieldGranTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        jCheckBoxIncluirVifgencias.setText("Incluir vigencias");

        javax.swing.GroupLayout jPanelFondoLayout = new javax.swing.GroupLayout(jPanelFondo);
        jPanelFondo.setLayout(jPanelFondoLayout);
        jPanelFondoLayout.setHorizontalGroup(
            jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanelFondoLayout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 802, Short.MAX_VALUE)
                .addGap(24, 24, 24))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelFondoLayout.createSequentialGroup()
                .addGroup(jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanelFondoLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel12)
                        .addGap(39, 39, 39)
                        .addComponent(jComboBoxMesPago, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(79, 79, 79)
                        .addComponent(jLabel1)
                        .addGap(18, 18, 18)
                        .addComponent(jFormattedTextFieldFecha, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanelFondoLayout.createSequentialGroup()
                        .addGap(50, 50, 50)
                        .addComponent(jButtonVistaPrevia, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(26, 26, 26)
                        .addComponent(jButtonImprimir, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(29, 29, 29)
                        .addComponent(jButtonRegresar2, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanelFondoLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanelFondoLayout.createSequentialGroup()
                                .addComponent(jCheckBoxIncluirRecargo)
                                .addGap(29, 29, 29)
                                .addComponent(jCheckBoxIncluirVifgencias))
                            .addGroup(jPanelFondoLayout.createSequentialGroup()
                                .addComponent(jLabel14)
                                .addGap(69, 69, 69)
                                .addComponent(jTextFieldAnio, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(27, 27, 27)
                                .addComponent(jButtonMostrar, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButtonRegresar, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(286, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelFondoLayout.createSequentialGroup()
                .addContainerGap(359, Short.MAX_VALUE)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(190, 190, 190))
        );
        jPanelFondoLayout.setVerticalGroup(
            jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelFondoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel12)
                    .addComponent(jComboBoxMesPago, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel1)
                    .addComponent(jFormattedTextFieldFecha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel14, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jButtonMostrar, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jButtonRegresar, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelFondoLayout.createSequentialGroup()
                        .addGroup(jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jCheckBoxIncluirRecargo)
                            .addComponent(jCheckBoxIncluirVifgencias))
                        .addGap(2, 2, 2)
                        .addComponent(jTextFieldAnio, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(12, 12, 12)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
                .addGroup(jPanelFondoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButtonRegresar2, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButtonImprimir, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButtonVistaPrevia, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(40, 40, 40))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanelFondo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanelFondo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void jButtonRegresarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonRegresarActionPerformed

    dispose();
}//GEN-LAST:event_jButtonRegresarActionPerformed

private void jButtonRegresar2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonRegresar2ActionPerformed

    dispose();
}//GEN-LAST:event_jButtonRegresar2ActionPerformed

private void jButtonMostrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonMostrarActionPerformed

    try {
           jButtonVistaPrevia.setEnabled(false);
         jButtonImprimir.setEnabled(false);
        LimpiarTable();
        this.TotalMorosidad = 0.0;
        this.TotalRecargo = 0.0;
        this.GranTotal = 0.0;
        String SAnio = jTextFieldAnio.getText();

        if (SAnio == null || SAnio.equals("")) {
            JOptionPane.showMessageDialog(this, "No ha seleccionado el año ", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
            jTextFieldAnio.requestFocus();
            return;
        }
        this.Anio = Integer.parseInt(SAnio);
        /*
         * Se le suma uno al año para que genere los 
         * impuestos para el siguiente año
         */

        if (this.Anio <= 2007) {
            JOptionPane.showMessageDialog(this, "Debe ingresar un año valido ", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
            jTextFieldAnio.requestFocus();
            return;
        }
        this.Mes = (String) this.jComboBoxMesPago.getSelectedItem();

        if (this.Mes == null || this.Mes.equals("")) {
            JOptionPane.showMessageDialog(this, "seleccione el mes de pago", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
            return;
        }
        if (cierreMensualBeans.VerificarExiste(this.Anio, this.Mes) == false) {
            JOptionPane.showMessageDialog(null, "No se ha generado un cierre mensual para ese mes.", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
            return;
        }

        /*
         * Limpiar morosidad temporal
         */
        sesion.LimpiarTemporalMorosidadMensual();
        this.sql = "select cierremorosidadmensual.*, regimen.regimen "
                + "from cierremorosidadmensual, regimen "
                + "where cierremorosidadmensual.idmunicipio ='" + sesion.getIdmunicipio() + "'"
                + " and cierremorosidadmensual.anio='" + this.Anio + "'"
                + " and cierremorosidadmensual.mes = '" + this.Mes + "'"
                + " and  cierremorosidadmensual.idmunicipio = regimen.idmunicipio "
                + " and cierremorosidadmensual.idregimen = regimen.idregimen  "
                + " and regimen.activo='si'";
        cierreMorosidadMensualBeans.CargarListadoMorosidadMensualCierre(sql);

        /*
         * acumula el cierre de impuestos anuales
         *
         */
        this.sql = "select cierremorosidadmensualanual.*, regimen.regimen "
                + "from cierremorosidadmensualanual, regimen "
                + "where cierremorosidadmensualanual.idmunicipio ='" + sesion.getIdmunicipio() + "'"
                + " and cierremorosidadmensualanual.anio='" + this.Anio + "'"
                + " and cierremorosidadmensualanual.mes = '" + this.Mes + "'"
                + " and  cierremorosidadmensualanual.idmunicipio = regimen.idmunicipio "
                + " and cierremorosidadmensualanual.idregimen = regimen.idregimen  "
                + " and regimen.activo='si'";
        cierreMorosidadMensualAnualBeans.CargarListadoMorosidadMensualAnualCierre(sql);



        if (jCheckBoxIncluirRecargo.isSelected()) {

            this.sql = "select cierrerecargomensual.*, regimen.regimen "
                    + "from cierrerecargomensual, regimen "
                    + "where cierrerecargomensual.idmunicipio ='" + sesion.getIdmunicipio() + "'"
                    + " and cierrerecargomensual.anio='" + this.Anio + "'"
                    + " and cierrerecargomensual.mes = '" + this.Mes + "'"
                    + " and  cierrerecargomensual.idmunicipio = regimen.idmunicipio "
                    + " and cierrerecargomensual.idregimen = regimen.idregimen  "
                    + " and regimen.activo='si'";
            cierreRecargoMensualBeans.CargarListadoRecargoMensual(sql);

        }
//llamar al cierre de vigencias expiradas
        this.sql = "select cierremensualvigenciasexpiradas.*, regimen.regimen "
                + "from cierremensualvigenciasexpiradas, regimen "
                + "where cierremensualvigenciasexpiradas.idmunicipio ='" + sesion.getIdmunicipio() + "'"
                + " and cierremensualvigenciasexpiradas.anio='" + this.Anio + "'"
                + " and cierremensualvigenciasexpiradas.mes = '" + this.Mes + "'"
                + " and cierremensualvigenciasexpiradas.idmunicipio = regimen.idmunicipio "
                + " and cierremensualvigenciasexpiradas.idregimen = regimen.idregimen  "
                + " and regimen.activo='si'";
        cierreMensualVigenciasExpiradasBeans.CargarListadoMorosidadMensualVigenciasCierre(sql);
        CargarMorosidad();
        CargarMorosidadImpuestosAnuales();
        if (jCheckBoxIncluirRecargo.isSelected()) {
            CargarRecargo();
        }
if(jCheckBoxIncluirVifgencias.isSelected()){
      CargarVigencia();
}
      

        CargarTabla();
        
        DecimalFormat formateador = new DecimalFormat("#########.##");
 jTextFieldTotalMorosidad.setText(formateador.format(this.TotalMorosidad));
        jTextFieldTotalRecargo.setText(formateador.format(this.TotalRecargo));

        jTextFieldGranTotal.setText(formateador.format(this.GranTotal));
        setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));


        setCursor(null);
         JOptionPane.showMessageDialog(this, "Proceso terminado. Ahora puede imprimir informes", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
         jButtonVistaPrevia.setEnabled(true);
         jButtonImprimir.setEnabled(true);
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(this, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
    }
}//GEN-LAST:event_jButtonMostrarActionPerformed

private void jButtonVistaPreviaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonVistaPreviaActionPerformed



    String reportSource;
    reportSource = sesion.getRutaReportes() + "CierreMorosidadMensualInforme.jrxml";
    String reportDest;
    reportDest = sesion.getRutaDestino() + "CierreMorosidadMensualInforme.html";

    Map<String, Object> params = new HashMap<String, Object>();

    try {
        if (sesion.Conectar() == false) {
            JOptionPane.showMessageDialog(this, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
            return;
        }
        JasperReport jasperReport =
                JasperCompileManager.compileReport(reportSource);
        params.put("P_IDMUNICIPIO", sesion.getIdmunicipio());
        params.put("P_USERNAME", sesion.getUsername());
        params.put("P_MUNICIPIO", sesion.getMunicipio());
        params.put("P_ANIO", this.Anio);
        params.put("P_MES", this.Mes);


        JasperPrint jasperPrint =
                JasperFillManager.fillReport(
                jasperReport, params, sesion.con);

        JasperViewer.viewReport(jasperPrint, false);

    } catch (JRException ex) {
        ex.printStackTrace();
        JOptionPane.showMessageDialog(null, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
    }
}//GEN-LAST:event_jButtonVistaPreviaActionPerformed

private void jButtonImprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonImprimirActionPerformed



    String reportSource;
    reportSource = sesion.getRutaReportes() + "CierreMorosidadMensualInforme.jrxml";
    String reportDest;
    reportDest = sesion.getRutaDestino() + "CierreMorosidadMensualInforme.html";

    Map<String, Object> params = new HashMap<String, Object>();

    try {
        if (sesion.Conectar() == false) {
            JOptionPane.showMessageDialog(this, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
            return;
        }
        JasperReport jasperReport =
                JasperCompileManager.compileReport(reportSource);
        params.put("P_IDMUNICIPIO", sesion.getIdmunicipio());
        params.put("P_USERNAME", sesion.getUsername());
        params.put("P_MUNICIPIO", sesion.getMunicipio());
        params.put("P_ANIO", this.Anio);
        params.put("P_MES", this.Mes);


        JasperPrint jasperPrint =
                JasperFillManager.fillReport(
                jasperReport, params, sesion.con);

        JasperViewer.viewReport(jasperPrint, true);

    } catch (JRException ex) {
        ex.printStackTrace();
        JOptionPane.showMessageDialog(null, "Error " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
    }
}//GEN-LAST:event_jButtonImprimirActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new CierreMensualMorosidadInformeCierreFrame().setVisible(true);
            }
        });
    }

    public void CargarMorosidad() {
        try {

            this.NumeroRegistrosRecargosEncontrados = -1;
            ListaRecargoId.removeAll(ListaRecargoId);
            ListaRecargoTipoId.removeAll(ListaRecargoTipoId);
            ListaRecargoIdRegimen.removeAll(ListaRecargoIdRegimen);
            if (cierreMorosidadMensualBeans.getNumeroRegistrosLista() != - 1) {
                for (int i = 0; i <= cierreMorosidadMensualBeans.getNumeroRegistrosLista(); i++) {
                    this.tipoid = cierreMorosidadMensualBeans.getListaTipoId().get(i);
                    tipoid = tipoid.toLowerCase();
                    this.localId = cierreMorosidadMensualBeans.getListaId().get(i);
                    this.localId = this.localId.trim();
                    this.morosidad = cierreMorosidadMensualBeans.getListaMorosidad().get(i);
                    this.numeroporcentaje = 0;
                    this.recargo = 0.0;
                    this.dueno = "";
                    this.numeromes = cierreMorosidadMensualBeans.getListaNumeroMes().get(i);
                    this.idRegimen = cierreMorosidadMensualBeans.getListaIdRegimen().get(i);
                    this.Regimen = cierreMorosidadMensualBeans.getListaRegimen().get(i);
                    // busco si tiene recargos de ese impuesto


                    if (jCheckBoxIncluirRecargo.isSelected()) {
                        int posicion = -1;
                        if (cierreRecargoMensualBeans.getNumeroRegistrosLista() != -1) {
                            for (int j = 0; j <= cierreRecargoMensualBeans.getNumeroRegistrosLista(); j++) {
                                String recargoId = cierreRecargoMensualBeans.getListaId().get(j);
                                String recargoTipoId = cierreRecargoMensualBeans.getListaTipoId().get(j);
                                String recargoIdRegimen = cierreRecargoMensualBeans.getListaIdRegimen().get(j);
                                if (localId.equals(recargoId) && tipoid.equals(recargoTipoId) && this.idRegimen.equals(recargoIdRegimen)) {
                                    this.recargo = cierreRecargoMensualBeans.getListaRecargo().get(j);
                                    this.numeroporcentaje = cierreRecargoMensualBeans.getListaNumeroPorcentaje().get(j);

                                    ListaRecargoId.add(recargoId);
                                    ListaRecargoTipoId.add(recargoTipoId);
                                    ListaRecargoIdRegimen.add(recargoIdRegimen);
                                    NumeroRegistrosRecargosEncontrados++;
                                }
                            } //for
                        }

                    }


                    this.total = this.morosidad + this.recargo;
                    this.GranTotal += this.total;
                    this.TotalRecargo += this.recargo;
                    this.TotalMorosidad += this.morosidad;
                    EcontrarPropietario(this.tipoid, this.localId);

                    GuardarRegistroTablaTemporal();

                }//for
            }

        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "CargarMorosidad()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void CargarMorosidadImpuestosAnuales() {
        try {

            //  this.NumeroRegistrosRecargosEncontrados = -1;
            //ListaRecargoId.removeAll(ListaRecargoId);
            // ListaRecargoTipoId.removeAll(ListaRecargoTipoId);
            // ListaRecargoIdRegimen.removeAll(ListaRecargoIdRegimen);
            if (cierreMorosidadMensualAnualBeans.getNumeroRegistrosLista() != - 1) {

                for (int i = 0; i <= cierreMorosidadMensualAnualBeans.getNumeroRegistrosLista(); i++) {

                    this.tipoid = cierreMorosidadMensualAnualBeans.getListaTipoId().get(i);

                    tipoid = tipoid.toLowerCase();
                    this.localId = cierreMorosidadMensualAnualBeans.getListaId().get(i);
                    this.localId = this.localId.trim();
                    this.morosidad = cierreMorosidadMensualAnualBeans.getListaMorosidad().get(i);
                    this.numeroporcentaje = 0;
                    this.recargo = 0.0;
                    this.dueno = "";

                    this.numeromes = 0;

                    this.idRegimen = cierreMorosidadMensualAnualBeans.getListaIdRegimen().get(i);

                    this.Regimen = cierreMorosidadMensualAnualBeans.getListaRegimen().get(i);
                    // busco si tiene recargos de ese impuesto


                    if (jCheckBoxIncluirRecargo.isSelected()) {
                        int posicion = -1;
                        if (cierreRecargoMensualBeans.getNumeroRegistrosLista() != -1) {

                            for (int j = 0; j <= cierreRecargoMensualBeans.getNumeroRegistrosLista(); j++) {

                                String recargoId = cierreRecargoMensualBeans.getListaId().get(j);
                                String recargoTipoId = cierreRecargoMensualBeans.getListaTipoId().get(j);
                                String recargoIdRegimen = cierreRecargoMensualBeans.getListaIdRegimen().get(j);
                                if (localId.equals(recargoId) && tipoid.equals(recargoTipoId) && this.idRegimen.equals(recargoIdRegimen)) {

                                    this.recargo = cierreRecargoMensualBeans.getListaRecargo().get(j);
                                    this.numeroporcentaje = cierreRecargoMensualBeans.getListaNumeroPorcentaje().get(j);

                                    ListaRecargoId.add(recargoId);
                                    ListaRecargoTipoId.add(recargoTipoId);
                                    ListaRecargoIdRegimen.add(recargoIdRegimen);
                                    NumeroRegistrosRecargosEncontrados++;

                                }
                            } //for
                        }

                    }


                    this.total = this.morosidad + this.recargo;
                    this.GranTotal += this.total;
                    this.TotalRecargo += this.recargo;
                    this.TotalMorosidad += this.morosidad;
                    EcontrarPropietario(this.tipoid, this.localId);

                    GuardarRegistroTablaTemporal();

                }//for
            }

        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "CargarMorosidadImpuestosAnuales()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void CargarVigencia() {
        try {



            if (cierreMensualVigenciasExpiradasBeans.getNumeroRegistrosLista() != - 1) {
                for (int i = 0; i <= cierreMensualVigenciasExpiradasBeans.getNumeroRegistrosLista(); i++) {
                    this.tipoid = cierreMensualVigenciasExpiradasBeans.getListaTipoId().get(i);
                    tipoid = tipoid.toLowerCase();
                    this.localId = cierreMensualVigenciasExpiradasBeans.getListaId().get(i);
                    this.localId = this.localId.trim();
                    this.morosidad = cierreMensualVigenciasExpiradasBeans.getListaMorosidad().get(i);
                    this.numeroporcentaje = 0;
                    this.recargo = 0.0;
                    this.dueno = "";
                    this.numeromes = 0;
                    this.idRegimen = cierreMensualVigenciasExpiradasBeans.getListaIdRegimen().get(i);
                    this.Regimen = cierreMensualVigenciasExpiradasBeans.getListaRegimen().get(i);
                    // busco si tiene recargos de ese impuesto

                    this.total = this.morosidad + this.recargo;
                    this.GranTotal += this.total;

                    this.TotalMorosidad += this.morosidad;
                    EcontrarPropietario(this.tipoid, this.localId);

                    GuardarRegistroTablaTemporal();

                }//for
            }





        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "CargarVigencia()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void CargarRecargo() {
        try {


            if (cierreRecargoMensualBeans.getNumeroRegistrosLista() != - 1) {
                for (int i = 0; i <= cierreRecargoMensualBeans.getNumeroRegistrosLista(); i++) {
                    this.tipoid = cierreRecargoMensualBeans.getListaTipoId().get(i);
                    tipoid = tipoid.toLowerCase();
                    this.localId = cierreRecargoMensualBeans.getListaId().get(i);
                    this.localId = this.localId.trim();
                    this.morosidad = 0.0;
                    this.numeroporcentaje = 0;
                    this.recargo = cierreRecargoMensualBeans.getListaRecargo().get(i);
                    this.dueno = "";
                    this.numeromes = 0;
                    this.idRegimen = cierreRecargoMensualBeans.getListaIdRegimen().get(i);
                    this.Regimen = cierreRecargoMensualBeans.getListaRegimen().get(i);
                    this.numeroporcentaje = cierreRecargoMensualBeans.getListaNumeroPorcentaje().get(i);
                    boolean usado = false;
                    if (NumeroRegistrosRecargosEncontrados != -1) {
                        //quiere decir que se encontraron algunos morosos con recargos
                        for (int j = 0; j <= NumeroRegistrosRecargosEncontrados; j++) {
                            if (localId.equals(ListaRecargoId.get(j)) && tipoid.equals(ListaRecargoTipoId.get(j)) && this.idRegimen.equals(ListaRecargoIdRegimen.get(j))) {
                                usado = true;
                            }
                        }
                    } else {
                        //solo habia recargo no se encontro ninguno moroso
                        usado = false;
                    }

                    if (usado == false) {
                        this.total = this.morosidad + this.recargo;
                        this.TotalRecargo += this.recargo;
                        this.GranTotal += this.total;
                        EcontrarPropietario(this.tipoid, this.localId);

                        GuardarRegistroTablaTemporal();
                    }


                }//for
            }




        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "CargarRecargo()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    private void GuardarRegistroTablaTemporal() {
        try {
            temporalMorosidadMensualBeans.setAnio(this.Anio);
            temporalMorosidadMensualBeans.setMes(this.Mes);
            temporalMorosidadMensualBeans.setId(this.tipoid);
            temporalMorosidadMensualBeans.setTipoId(this.localId);
            temporalMorosidadMensualBeans.setPropietario(this.dueno);
            temporalMorosidadMensualBeans.setDireccion("");
            temporalMorosidadMensualBeans.setRegimen(this.Regimen);
            temporalMorosidadMensualBeans.setIdRegimen(this.idRegimen);
            temporalMorosidadMensualBeans.setMorosidad(this.morosidad);
            temporalMorosidadMensualBeans.setRecargo(this.recargo);
            temporalMorosidadMensualBeans.setTotal(this.total);
            temporalMorosidadMensualBeans.setIdMunicipio(sesion.getIdmunicipio());
            temporalMorosidadMensualBeans.setNumeroMes(this.numeromes);
            temporalMorosidadMensualBeans.setNumeroPorcentaje(this.numeroporcentaje);
            temporalMorosidadMensualBeans.setTotalMorosidad(TotalMorosidad);
            temporalMorosidadMensualBeans.setTotalRecargo(TotalRecargo);
            temporalMorosidadMensualBeans.setGranTotal(GranTotal);
            temporalMorosidadMensualBeans.setEstatus("");
            temporalMorosidadMensualBeans.setPlaca("");
            temporalMorosidadMensualBeans.setIdCorregimiento("");
temporalMorosidadMensualBeans.setCorregimiento("");
temporalMorosidadMensualBeans.setTelefono("");
            temporalMorosidadMensualBeans.Agregar();

        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "GuardarRegistroTablaTemporal()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    private void LimpiarTable() {
        try {
            //limpiar  el jXTable
            jTextFieldTotalMorosidad.setText("");
            jTextFieldTotalRecargo.setText("");
            jTextFieldGranTotal.setText("");
            boolean control = false;
            while (control == false) {
                int n = jTable1.getRowCount();
                //System.out.println("n" + n);
                if (n <= 0) {
                    control = true;
                } else {
                    modelo.removeRow(0);
                }

            }//while
        } catch (Exception ex) {
            sesion.MostrarMensajeError("Error ", "Clase: PagosContribuyentesFijosFrame.java\nLimpiarTable()\n " + ex.getMessage().toString());
        }
    }

    private void EcontrarPropietario(String tipoid, String localId) {
        try {
            if (tipoid.equals("contribuyentes")) {
                if (contribuyentesBeans.Consultar(localId) == true) {
                    this.dueno = contribuyentesBeans.getContribuyente();
                }
            }
            if (tipoid.equals("comercios")) {
                comerciosBeans.setIdComercio(localId);
                if (comerciosBeans.Consultar() == true) {
                    this.dueno = comerciosBeans.getComercio();
                }
            }

            if (tipoid.equals("vehiculos")) {
                /*
                 *cuando es vehiculo, verificar el dueño que puede ser
                 * un contribuyente o un comercio
                 */
                vehiculosBeans.setIdVehiculo(localId);
                //busco el dueño del vehiculo
                vehiculosBeans.Consultar();
                String duenotipoid = vehiculosBeans.getTipoId();
                duenotipoid = duenotipoid.toLowerCase();
                String duenoid = vehiculosBeans.getId();
                //como es un vehiculo, debemos buscar el dueño, comercio o contribuyente
                if (duenotipoid.equals("contribuyentes")) {
                    if (contribuyentesBeans.Consultar(duenoid) == true) {
                        this.dueno = "Vehiculo de " + contribuyentesBeans.getContribuyente();
                    }

                } else {
                    if (duenotipoid.equals("comercios")) {
                        comerciosBeans.setIdComercio(duenoid);
                        if (comerciosBeans.Consultar() == true) {
                            this.dueno = "Vehiculo de " + comerciosBeans.getComercio();
                        }
                    }
                }
            } //vehiculos

            /*
             * remolques
             *
             */
            if (tipoid.contains("remolques")) {
                int idRemolque = Integer.parseInt(localId);
                remolquesBeans.setIdRemolque(idRemolque);
                remolquesBeans.Consultar();
                String duenotipoid = remolquesBeans.getTipoId();
                duenotipoid = duenotipoid.toLowerCase();
                String duenoid = remolquesBeans.getId();
                //como es un vehiculo, debemos buscar el dueño, comercio o contribuyente
                if (duenotipoid.equals("contribuyentes")) {
                    if (contribuyentesBeans.Consultar(duenoid) == true) {
                        this.dueno = "Remolque de " + contribuyentesBeans.getContribuyente();
                    }


                } else {
                    if (duenotipoid.equals("comercios")) {
                        comerciosBeans.setIdComercio(duenoid);
                        if (comerciosBeans.Consultar() == true) {
                            this.dueno = "Remolque de " + comerciosBeans.getComercio();
                        }
                    }
                }
            } //remolques

        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "EncontrarPropietario()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }

    private void CargarTabla() {
        try {
            sql = "select temporalmorosidadmensual.* from  temporalmorosidadmensual  where idmunicipio=? and username=?";
            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(this, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return;
            }

            PreparedStatement psquery = sesion.con.prepareStatement(sql);
            psquery.setObject(1, sesion.getIdmunicipio());
            psquery.setObject(2, sesion.getUsername()); //username
            ResultSet rs = psquery.executeQuery();

            modelo = new DefaultTableModel();
            // Creamos las columnas.
            modelo.addColumn("id");
            modelo.addColumn("propietario");
            modelo.addColumn("idregimen");
            modelo.addColumn("regimen");
            modelo.addColumn("morosidad");
            modelo.addColumn("recargo");
            modelo.addColumn("total");

// Bucle para cada resultado en la consulta
            while (rs.next()) {
                // Se crea un array que será una de las filas de la tabla.
                Object[] fila = new Object[7]; // Hay tres columnas en la tabla

                fila[0] = rs.getString("id");
                fila[1] = rs.getString("propietario");
                fila[2] = rs.getString("idregimen");
                fila[3] = rs.getString("regimen");
                fila[4] = rs.getString("morosidad");
                fila[5] = rs.getString("recargo");
                fila[6] = rs.getString("total");
                modelo.addRow(fila);

            }
            this.jTable1.setModel(modelo);
            jTable1.setVisible(true);

            this.jTable1.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {

                    fila = jTable1.rowAtPoint(e.getPoint());
                    int columna = jTable1.columnAtPoint(e.getPoint());
                    if ((fila > -1) && (columna > -1)) {
                    }
                }
            });
            TableColumn columnId = jTable1.getColumnModel().getColumn(0);
            columnId.setPreferredWidth(70);
            TableColumn columnNombre = jTable1.getColumnModel().getColumn(1);
            columnNombre.setPreferredWidth(150);
            TableColumn columnIdRegimen = jTable1.getColumnModel().getColumn(2);
            columnIdRegimen.setPreferredWidth(100);
            TableColumn columnRegimen = jTable1.getColumnModel().getColumn(3);
            columnRegimen.setPreferredWidth(100);
            TableColumn columnMorosidad = jTable1.getColumnModel().getColumn(4);
            columnMorosidad.setPreferredWidth(50);
            TableColumn columnMeses = jTable1.getColumnModel().getColumn(5);
            columnMeses.setPreferredWidth(50);
            sesion.con.close();
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, "CargarTabla()\nError " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonImprimir;
    private javax.swing.JButton jButtonMostrar;
    private javax.swing.JButton jButtonRegresar;
    private javax.swing.JButton jButtonRegresar2;
    private javax.swing.JButton jButtonVistaPrevia;
    private javax.swing.JCheckBox jCheckBoxIncluirRecargo;
    private javax.swing.JCheckBox jCheckBoxIncluirVifgencias;
    private javax.swing.JComboBox jComboBoxMesPago;
    private javax.swing.JFormattedTextField jFormattedTextFieldFecha;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanelFondo;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextFieldAnio;
    private javax.swing.JTextField jTextFieldGranTotal;
    private javax.swing.JTextField jTextFieldTotalMorosidad;
    private javax.swing.JTextField jTextFieldTotalRecargo;
    // End of variables declaration//GEN-END:variables
}
